#ifndef LIST_H
#define LIST_H
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>

typedef struct Book
{
    float book_price;           //图书价格
    size_t book_sum;            //图书总数
    size_t book_borrowed;       //图书借走数量
    size_t book_ordered;        //图书预约数量
    size_t broken_manmade;      //人为损坏
    size_t broken_aging;        //自然损坏
    size_t type;                //图书类型
    size_t key;                 //图书首字母(作查找关键字)
    char ISBN[14];              //书号(13位)
    char bookname[60];          //书名
    char publish[30];           //出版社
    char writer[18];            //作者
}Book;

typedef struct Recond_node      //学生借还记录的结点
{
    char data[60];
    long int time_sec;
    struct Recond_node* next;
    struct Recond_node* front;
}Recond_node;

typedef struct Recond       //存储学生借还总信息
{
    size_t borrow_sum;
    Recond_node* head_borrow;
    size_t repay_sum;
    Recond_node* head_repay;
    size_t order_sum;
    Recond_node* head_order;
    size_t overdue_sum;
    Recond_node* head_overdue;
}Recond;

typedef struct Student
{
    Recond* recond;         //相关图书记录
    char name[20];          //名字
    char id[8];             //学号
    char password[20];      //密码
}Student;

Student* create_node_stu(const char* id,const char* name,const char* password);			//创建学生结构体

Recond* create_recond(void);								    //创建学生借还书等操作记录头结点

Recond_node* create_node_recond(char* data,long int time_sec);                     //创建记录结构体

void delete_node_recond(Recond_node* node);

void add_node_recond(Recond_node* head,char* data,long int time_sec);         //添加记录到链表
#endif//LIST_H
